/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Pilas_Ejemplo;

import javax.swing.JOptionPane;

/**
 *
 * @author Urii
 */
class Pila {

    int p[];
    int tam;
    int tope;

    
    public Pila() {
    }

    public Pila(int t) {
        this.tam = t;
        p = new int[tam];
    }

    //Verifica si la Pila esta llena o vacia
    public boolean Pila_Llena() {
        boolean ban = false;
        if (tope == p.length - 1) {
            ban = true;
        }
        return ban;
    }

    public boolean Pila_Vacia() {
        boolean ban = false;
        if (tope == -1) {
            ban = true;
        }
        return ban;
    }

    //Se encarga de llenar la pila
    
    public void llenar() {
        
        if (Pila_Vacia()) {
            for (int i = 0; i < p.length; i++) {
                p[i] = Integer.parseInt(JOptionPane.showInputDialog("Introduce dato"));
                tope++;
            }

        } else {

            for (int i = tope + 1; i < p.length; i++) {

                p[i] = Integer.parseInt(JOptionPane.showInputDialog("Introduce dato"));

                tope++;

            }

        }

    }

    //Se encarga de insertar un dato
    public void Insertar() {

        int dato;

        if (!Pila_Llena()) {

            dato = Integer.parseInt(JOptionPane.showInputDialog("Introduce dato"));

            p[tope] = dato;

        } else {

            JOptionPane.showMessageDialog(null, "Pila llena");

        }

    }

    //Eliminas los elementos
    
    public void Eliminar() {

        int dato;

        if (!Pila_Vacia()) {

            JOptionPane.showMessageDialog(null, "El elemento a eliminar es: " + p[tope]);

            tope--;

        } else {

            JOptionPane.showMessageDialog(null, "Pila Vacia");

        }

    }

    public String toString() {

        String cad = "Contenido\n";

        for (int i = 0; i <= tope; i++) {

            cad += p[i] + ", ";

        }

        return cad;

    }
}
